package br.com.werp.regras.geral.integracao;

import br.com.werp.regras.geral.util.Constantes;
import br.com.werp.regras.geral.util.Util;
import br.com.werp.regras.geral.vos.tabelas.Documento_financeiro;
import br.com.werp.regras.geral.vos.tabelas.Produto;

import java.sql.Connection;

import java.util.List;
import java.util.ResourceBundle;


/**
 * @author Sobreira
 * Criado em 30/11/2005
 */
public class Documento_financeiroDAO extends MasterDAO {
    private static Documento_financeiroDAO documento_financeiroDAO = null;

    private Documento_financeiroDAO(String banco) throws Exception {
        super(banco);
    }

    public static Documento_financeiroDAO getDocumento_financeiroDAO()
        throws Exception {
        if (documento_financeiroDAO == null) {
            ResourceBundle bundle = ResourceBundle.getBundle(Constantes.CONFIG);
            documento_financeiroDAO = new Documento_financeiroDAO(bundle.getString(
                        Constantes.BANCO));
        }

        return documento_financeiroDAO;
    }

    public List obterDocumento_financeiro(Object conexao,
        Documento_financeiro documento_financeiro) throws Exception {
        Connection conn = null;

        try {
            conn = (Connection) conexao;

            return pesquisarVO(conn, documento_financeiro);
        } finally {
            if (conn.getAutoCommit()) {
                liberaConeccao(conn);
            }
        }
    }

    public Documento_financeiro obterDocumento_financeiro(int dcfi_documento)
        throws Exception {
        Documento_financeiro documento_financeiro = new Documento_financeiro();
        documento_financeiro.setDcfi_documento(dcfi_documento);

        return (Documento_financeiro) Util.get0(obterDocumento_financeiro(
                getConexao(), documento_financeiro));
    }
}
